Imports CapaDeNegocios

Partial Public Class FrmChequeTerceros
    Inherits System.Web.UI.Page
    Public Banco As CapaDeNegocios.nBanco = New CapaDeNegocios.nBanco
    Public Cuenta As CapaDeNegocios.nCuenta = New CapaDeNegocios.nCuenta
    Public Chequera As CapaDeNegocios.nChequera = New CapaDeNegocios.nChequera
    Public ChequeTerceros As CapaDeNegocios.nChequesTerceros = New CapaDeNegocios.nChequesTerceros
    Public Comprobacion As CapaDeNegocios.nComprobaciones = New CapaDeNegocios.nComprobaciones
    Public Cliente As CapaDeNegocios.nCliente = New CapaDeNegocios.nCliente
    Public oIdProve As Integer
    Public oAnombreDe As String
    Dim FechaVencimiento As String
    Dim FechaEmision As String

    Protected Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load
        If Session("Login") = "Anonimo" Then
            Response.Redirect("/")
        End If
        If Not Page.IsPostBack Then
            If Session("Login") = "Anonimo" Then
                Response.Redirect("/")
            End If
            Inicio()
        End If
    End Sub

    Sub Inicio()
        'TxtFechaVencimiento.Text = ""

        'TxtFechaEmision.Text = Now.Date
        TxtImporte.Text = ""
        TxtNumeroCheque.Text = ""
        TxtObservaciones.Text = ""
        TxtBanco.Text = ""
        OpcChequeNombre.Enabled = True
        LLenarClientes()
        TxtChequeNombre.Visible = False
        CboCliente.Visible = True
        LlenarGrid()

        LnkGuardar.Visible = True
        LnkBuscar.Visible = True

        LnkCancelar.Visible = False
        LnkEliminar.Visible = False

        LnkCancelar.Text = "Cancelar"

        'TxtFechaVencimiento.ReadOnly = False
        'DpFechaVencimiento.SelectedValue
        TxtImporte.ReadOnly = False
        TxtNumeroCheque.ReadOnly = False
        TxtObservaciones.ReadOnly = False
        Me.TxtChequeNombre.ReadOnly = False

        Me.OpcChequeNombre.Enabled = True

        CboCliente.Visible = False

        Fechas()

    End Sub
    Sub Fechas()
        DpFechaVencimiento.SelectedValue = DBNull.Value
        DpFechaVencimiento.MinimumDate = Date.Today
        DpFechaVencimiento.Columns = 1
        DpFechaEmision.SelectedValue = Date.Today
        dpFechaEmision.MinimumDate = Date.Today
        dpFechaEmision.Columns = 1
    End Sub
    Protected Sub OpcChequeNombre_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpcChequeNombre.SelectedIndexChanged
        Select Case OpcChequeNombre.SelectedValue
            Case Is = 1 'Otro
                Me.TxtChequeNombre.Text = ""
                Me.TxtChequeNombre.Visible = False
                Me.CboCliente.Visible = True
                Me.CboCliente.SelectedValue = -1
            Case Is = 2 'Cliente
                Me.TxtChequeNombre.Text = ""
                Me.TxtChequeNombre.Visible = True
                Me.CboCliente.Visible = False
                Me.CboCliente.SelectedValue = -1
        End Select
    End Sub

    Sub LLenarClientes()
        CboCliente.Items.Clear()
        CboCliente.Items.Add(New ListItem("Seleccione un Tipo de Empresa", -1))
        CboCliente.DataSource = Cliente.Listar("", "", "", "", "", "", "", "", "", "", "", "")
        CboCliente.DataTextField = "RazonSocial"
        CboCliente.DataValueField = "CodigoCliente"
        CboCliente.DataBind()
    End Sub

    Sub LlenarGrid()
        GridChequesTerceros.DataSource = ChequeTerceros.BuscarCheque("", "", "", "", "", "", "", "")
        GridChequesTerceros.DataBind()
    End Sub

    Protected Sub LnkGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LnkGuardar.Click


        LblError.Visible = False
        LblError.Text = ""

        FechaVencimiento = Me.DpFechaVencimiento.SelectedValue
        FechaEmision = Me.DpFechaEmision.SelectedValue

        Select Case OpcChequeNombre.SelectedValue
            Case Is = 1 'Cliente
                oIdProve = CboCliente.SelectedValue
                oAnombreDe = CboCliente.SelectedItem.Text
            Case Is = 2 'Otro
                oIdProve = 0
                oAnombreDe = TxtChequeNombre.Text
            Case Else
                oIdProve = 0
                oAnombreDe = ""
        End Select

        If Comprobacion.FN_Vacio(TxtImporte.Text) = True Then
            LblError.Visible = True
            LblError.Text = "Ingrese un importe"
            TxtImporte.Focus()
            Exit Sub
        Else

            If Comprobacion.FN_EsNumero(TxtImporte.Text) = False Then
                LblError.Visible = True
                LblError.Text = "El Valor de Importe Correcto"
                TxtImporte.Focus()
                Exit Sub
            End If
        End If
        If ChequeTerceros.InsertarCheque(TxtNumeroCheque.Text, _
                                             TxtImporte.Text, _
                                             FechaVencimiento, _
                                             FechaEmision, _
                                             TxtObservaciones.Text, _
                                             oAnombreDe, _
                                             "", _
                                             TxtBanco.Text) = True Then
            Inicio()

        End If
    End Sub

    Protected Sub LnkEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LnkEliminar.Click
        If ChequeTerceros.AnularCheque(Me.TxtNumeroCheque.Text, Me.TxtObservaciones.Text) = True Then
            Me.Response.Write("<script languaje='javascript'>window.alert('El Cheque Numero " & TxtNumeroCheque.Text & " fue Anulado')</script>")
        End If

    End Sub

    Protected Sub LnkBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LnkBuscar.Click
        GridChequesTerceros.DataSource = ChequeTerceros.BuscarCheque(Me.TxtNumeroCheque.Text, Me.TxtImporte.Text, DpFechaVencimiento.SelectedValue, dpFechaEmision.SelectedValue, Me.TxtObservaciones.Text, Me.TxtChequeNombre.Text, "", TxtBanco.Text)
        GridChequesTerceros.DataBind()
    End Sub

    Private Sub GridChequesTerceros_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridChequesTerceros.PageIndexChanging
        Me.GridChequesTerceros.PageIndex = e.NewPageIndex
        GridChequesTerceros.DataSource = ChequeTerceros.BuscarCheque(Me.TxtNumeroCheque.Text, Me.TxtImporte.Text, Me.DpFechaVencimiento.SelectedValue, dpFechaEmision.SelectedValue, Me.TxtObservaciones.Text, Me.TxtChequeNombre.Text, "", TxtBanco.Text)
        GridChequesTerceros.DataBind()
    End Sub

    Private Sub GridChequesTerceros_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridChequesTerceros.RowCommand
        If e.CommandName = "Select" Then
            Me.TxtNumeroCheque.Text = e.CommandSource.parent.FindControl("LblNumeroCheque").text
            Me.TxtImporte.Text = e.CommandSource.parent.FindControl("LblImporte").text
            DpFechaVencimiento.SelectedValue = e.CommandSource.parent.FindControl("LblFVencimiento").text
            Me.DpFechaEmision.SelectedValue = e.CommandSource.parent.FindControl("LblFEmision").text
            Me.TxtObservaciones.Text = e.CommandSource.parent.FindControl("LblObservacion").text
            Me.TxtBanco.Text = e.CommandSource.parent.FindControl("LblBanco").text
            Me.TxtChequeNombre.Text = e.CommandSource.parent.FindControl("LblANombreDe").text

            Me.OpcChequeNombre.SelectedIndex = 1
            Me.TxtChequeNombre.Visible = True

            LnkGuardar.Visible = False
            LnkBuscar.Visible = False

            LnkCancelar.Visible = True
            LnkCancelar.Text = "Nuevo"
            LnkEliminar.Visible = True

            DpFechaVencimiento.Enabled = False
            TxtImporte.ReadOnly = True
            TxtNumeroCheque.ReadOnly = True
            TxtObservaciones.ReadOnly = True
            Me.TxtChequeNombre.ReadOnly = True
            Me.OpcChequeNombre.Enabled = False
            LLenarClientes()
        End If

    End Sub


    'Protected Sub DpFechaVencimiento_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DpFechaVencimiento.SelectionChanged
    '    'VERIFICAR EL TEMA DE QUE LA FECHA DE EMISION NO SEA MAYOR A LA DE LA FECHA DE VENCIMIENTO
    'End Sub

    Protected Sub GridChequesTerceros_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GridChequesTerceros.SelectedIndexChanged

    End Sub

    Protected Sub LnkCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LnkCancelar.Click
        Inicio()
    End Sub
End Class